[INFO] fetching crate arcshift 0.4.4...
[INFO] fixing arcshift-0.4.4 against try#622891a4e29178280638a6b63a8908bde2c0c854+cargoflags=-Zfix-edition=end=2015,2024 for pr-157817-2
[INFO] extracting crate arcshift 0.4.4 into /workspace/builds/worker-2-tc2/source
[INFO] started tweaking crates.io crate arcshift 0.4.4
[INFO] removed 0 missing examples
[INFO] finished tweaking crates.io crate arcshift 0.4.4
[INFO] tweaked toml for crates.io crate arcshift 0.4.4 written to /workspace/builds/worker-2-tc2/source/Cargo.toml
[INFO] validating manifest of crates.io crate arcshift 0.4.4 on toolchain 622891a4e29178280638a6b63a8908bde2c0c854
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--manifest-path" "Cargo.toml" "--no-deps", kill_on_drop: false }`
[INFO] crate crates.io crate arcshift 0.4.4 already has a lockfile, it will not be regenerated
[INFO] running `Command { std: CARGO_HOME="/workspace/cargo-home" RUSTUP_HOME="/workspace/rustup-home" "/workspace/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fetch" "--manifest-path" "Cargo.toml", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "create" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/source:/opt/rustwide/workdir:rw,Z" "-v" "/var/lib/crater-agent-workspace/builds/worker-2-tc2/target:/opt/rustwide/target:rw,Z" "-v" "/var/lib/crater-agent-workspace/cargo-home:/opt/rustwide/cargo-home:ro,Z" "-v" "/var/lib/crater-agent-workspace/rustup-home:/opt/rustwide/rustup-home:ro,Z" "-m" "1610612736" "--network" "none" "ghcr.io/rust-lang/crates-build-env/linux@sha256:3a6becf2bc8dde7f3fa57ede90e4f284e72d296796fc446bbb1e2c7cc0530151" "sleep" "infinity", kill_on_drop: false }`
[INFO] [stdout] 54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2
[INFO] running `Command { std: "docker" "start" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "metadata" "--no-deps" "--format-version=1", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "inspect" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "exec" "-e" "SOURCE_DIR=/opt/rustwide/workdir" "-e" "CARGO_HOME=/opt/rustwide/cargo-home" "-e" "RUSTUP_HOME=/opt/rustwide/rustup-home" "-e" "CARGO_TARGET_DIR=/opt/rustwide/target" "-e" "CARGO_INCREMENTAL=0" "-e" "RUST_BACKTRACE=full" "-e" "RUSTFLAGS=" "-e" "RUSTDOCFLAGS=" "-w" "/opt/rustwide/workdir" "--user" "0:0" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2" "/opt/rustwide/cargo-home/bin/cargo" "+622891a4e29178280638a6b63a8908bde2c0c854" "fix" "--allow-no-vcs" "--allow-dirty" "--frozen" "--all" "--all-targets" "--message-format=json" "-Zfix-edition=end=2015,2024", kill_on_drop: false }`
[INFO] [stderr] crater-edition-check: migrating to next edition
[INFO] [stderr]    Migrating Cargo.toml from 2021 edition to 2024
[INFO] [stderr]    Compiling libc v0.2.175
[INFO] [stderr]    Compiling zerocopy v0.8.26
[INFO] [stderr]     Checking cfg-if v1.0.3
[INFO] [stderr]    Compiling mutants v0.0.3
[INFO] [stderr]     Checking arcshift v0.4.4 (/opt/rustwide/workdir)
[INFO] [stderr]     Checking crossbeam-channel v0.5.15
[INFO] [stderr]    Migrating src/lib.rs from 2021 edition to 2024
[INFO] [stderr]        Fixed src/lib.rs (2 fixes)
[INFO] [stderr]     Checking getrandom v0.2.16
[INFO] [stderr]     Checking rand_core v0.6.4
[INFO] [stderr]     Checking ppv-lite86 v0.2.21
[INFO] [stderr]     Checking rand_chacha v0.3.1
[INFO] [stderr]     Checking rand v0.8.5
[INFO] [stderr]    Migrating examples/weak.rs from 2021 edition to 2024
[INFO] [stderr]    Migrating examples/basic.rs from 2021 edition to 2024
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:3540:49
[INFO] [stdout]      |
[INFO] [stdout] 3540 |             assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(handle.item.as_ptr()) }));
[INFO] [stdout]      |                               --------          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout]      = note: `--force-warn tail-expr-drop-order` implied by `--force-warn rust-2024-compatibility`
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:3533:49
[INFO] [stdout]      |
[INFO] [stdout] 3533 |             assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(handle.item.as_ptr()) }));
[INFO] [stdout]      |                               --------          ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |                               |
[INFO] [stdout]      |                               borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:3517:53
[INFO] [stdout]      |
[INFO] [stdout] 3517 |                 assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(next) }));
[INFO] [stdout]      |                                   --------          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/lib.rs:3524:53
[INFO] [stdout]      |
[INFO] [stdout] 3524 |                 assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(prev) }));
[INFO] [stdout]      |                                   --------          ^^^^^^^^^^^^^^^^^^^^^^^^^^^ this temporary value will be dropped at the end of the block
[INFO] [stdout]      |                                   |
[INFO] [stdout]      |                                   borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tests/custom_fuzz.rs:133:42
[INFO] [stdout]      |
[INFO] [stdout]   64 |             let mut curval: Option<ArcShift<T>> = Some(start_arc0);
[INFO] [stdout]      |                 ----------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `curval` calls a custom destructor
[INFO] [stdout]      |                 `curval` will be dropped later as of Edition 2024
[INFO] [stdout]   65 |             let mut curvalweak: Option<ArcShiftWeak<T>> = Some(start_arc_light);
[INFO] [stdout]      |                 --------------
[INFO] [stdout]      |                 |
[INFO] [stdout]      |                 `curvalweak` calls a custom destructor
[INFO] [stdout]      |                 `curvalweak` will be dropped later as of Edition 2024
[INFO] [stdout]   66 |             for cmd in cmds {
[INFO] [stdout]      |                 ---    ----
[INFO] [stdout]      |                 |      |
[INFO] [stdout]      |                 |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |                 |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |                 `cmd` calls a custom destructor
[INFO] [stdout]      |                 `cmd` will be dropped later as of Edition 2024
[INFO] [stdout]   67 |                 if let Ok(val) = receiver.try_recv() {
[INFO] [stdout]      |                           ---    -------------------
[INFO] [stdout]      |                           |      |
[INFO] [stdout]      |                           |      this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                           |      `#2` will be dropped later as of Edition 2024
[INFO] [stdout]      |                           `val` calls a custom destructor
[INFO] [stdout]      |                           `val` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  133 |                         if let Some(t) = curval.take() {
[INFO] [stdout]      |                                          ^^^^^^^^^^^^^
[INFO] [stdout]      |                                          |
[INFO] [stdout]      |                                          this value will be stored in a temporary; let us call it `#4`
[INFO] [stdout]      |                                          up until Edition 2021 `#4` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  134 |                             let _ = t.try_into_inner();
[INFO] [stdout]      |                                     ------------------
[INFO] [stdout]      |                                     |
[INFO] [stdout]      |                                     this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                     `#3` will be dropped later as of Edition 2024
[INFO] [stdout]  135 |                         }
[INFO] [stdout]  136 |                     }
[INFO] [stdout]      |                     - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#4` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `curval` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `curvalweak` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2808:1
[INFO] [stdout]      |
[INFO] [stdout] 2808 | impl<T: ?Sized> Drop for ArcShiftWeak<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2808:1
[INFO] [stdout]      |
[INFO] [stdout] 2808 | impl<T: ?Sized> Drop for ArcShiftWeak<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `#2` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `val` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2808:1
[INFO] [stdout]      |
[INFO] [stdout] 2808 | impl<T: ?Sized> Drop for ArcShiftWeak<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `val` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] warning: relative drop order changing in Rust 2024
[INFO] [stdout]     --> src/tests/custom_fuzz.rs:246:34
[INFO] [stdout]      |
[INFO] [stdout]  194 |     let mut arcs: [Option<ArcShift<T>>; 3] = [(); 3].map(|_| None);
[INFO] [stdout]      |         --------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `arcs` calls a custom destructor
[INFO] [stdout]      |         `arcs` will be dropped later as of Edition 2024
[INFO] [stdout]  195 |     let mut arcroots: [Option<ArcShiftWeak<T>>; 3] = [(); 3].map(|_| None);
[INFO] [stdout]      |         ------------
[INFO] [stdout]      |         |
[INFO] [stdout]      |         `arcroots` calls a custom destructor
[INFO] [stdout]      |         `arcroots` will be dropped later as of Edition 2024
[INFO] [stdout]  196 |     debug_println!("Starting fuzzrun");
[INFO] [stdout]  197 |     for cmd in cmds {
[INFO] [stdout]      |         ---    ----
[INFO] [stdout]      |         |      |
[INFO] [stdout]      |         |      this value will be stored in a temporary; let us call it `#1`
[INFO] [stdout]      |         |      `#1` will be dropped later as of Edition 2024
[INFO] [stdout]      |         `cmd` calls a custom destructor
[INFO] [stdout]      |         `cmd` will be dropped later as of Edition 2024
[INFO] [stdout] ...
[INFO] [stdout]  246 |                 if let Some(x) = arcs[chn as usize].take() {
[INFO] [stdout]      |                                  ^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      |                                  |
[INFO] [stdout]      |                                  this value will be stored in a temporary; let us call it `#3`
[INFO] [stdout]      |                                  up until Edition 2021 `#3` is dropped last but will be dropped earlier in Edition 2024
[INFO] [stdout]  247 |                     let _ = x.try_into_inner();
[INFO] [stdout]      |                             ------------------
[INFO] [stdout]      |                             |
[INFO] [stdout]      |                             this value will be stored in a temporary; let us call it `#2`
[INFO] [stdout]      |                             `#2` will be dropped later as of Edition 2024
[INFO] [stdout]  248 |                 }
[INFO] [stdout]  249 |             }
[INFO] [stdout]      |             - now the temporary value is dropped here, before the local variables in the block or statement
[INFO] [stdout]      |
[INFO] [stdout] note: `#3` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `arcs` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2797:1
[INFO] [stdout]      |
[INFO] [stdout] 2797 | impl<T: ?Sized> Drop for ArcShift<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout] note: `arcroots` invokes this custom destructor
[INFO] [stdout]     --> src/lib.rs:2808:1
[INFO] [stdout]      |
[INFO] [stdout] 2808 | impl<T: ?Sized> Drop for ArcShiftWeak<T> {
[INFO] [stdout]      | ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^
[INFO] [stdout]      = note: most of the time, changing drop order is harmless; inspect the `impl Drop`s for side effects like releasing locks or sending messages
[INFO] [stdout]      = warning: this changes meaning in Rust 2024
[INFO] [stdout]      = note: for more information, see <https://doc.rust-lang.org/edition-guide/rust-2024/temporary-tail-expr-scope.html>
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stderr]     Finished `dev` profile [unoptimized + debuginfo] target(s) in 6.45s
[INFO] [stderr] crater-edition-check: arcshift v0.4.4 (/opt/rustwide/workdir) updating edition from 2021 to 2024
[INFO] [stderr]     Checking arcshift v0.4.4 (/opt/rustwide/workdir)
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/lib.rs:3517:54
[INFO] [stdout]      |
[INFO] [stdout] 3517 |                 assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(next) }));
[INFO] [stdout]      |                                   --------           ^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |                                   |                  |                        |
[INFO] [stdout]      |                                   |                  |                        temporary value is freed at the end of this statement
[INFO] [stdout]      |                                   |                  creates a temporary value which is freed while still in use
[INFO] [stdout]      |                                   borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/lib.rs:3524:54
[INFO] [stdout]      |
[INFO] [stdout] 3524 |                 assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(prev) }));
[INFO] [stdout]      |                                   --------           ^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |                                   |                  |                        |
[INFO] [stdout]      |                                   |                  |                        temporary value is freed at the end of this statement
[INFO] [stdout]      |                                   |                  creates a temporary value which is freed while still in use
[INFO] [stdout]      |                                   borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/lib.rs:3533:50
[INFO] [stdout]      |
[INFO] [stdout] 3533 |             assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(handle.item.as_ptr()) }));
[INFO] [stdout]      |                               --------           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |                               |                  |                                        |
[INFO] [stdout]      |                               |                  |                                        temporary value is freed at the end of this statement
[INFO] [stdout]      |                               |                  creates a temporary value which is freed while still in use
[INFO] [stdout]      |                               borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] error[E0716]: temporary value dropped while borrowed
[INFO] [stdout]     --> src/lib.rs:3540:50
[INFO] [stdout]      |
[INFO] [stdout] 3540 |             assert!(all_nodes.contains(unsafe { &&*from_dummy::<T, M>(handle.item.as_ptr()) }));
[INFO] [stdout]      |                               --------           ^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^^-
[INFO] [stdout]      |                               |                  |                                        |
[INFO] [stdout]      |                               |                  |                                        temporary value is freed at the end of this statement
[INFO] [stdout]      |                               |                  creates a temporary value which is freed while still in use
[INFO] [stdout]      |                               borrow later used by call
[INFO] [stdout]      |
[INFO] [stdout]      = note: consider using a `let` binding to create a longer lived value
[INFO] [stdout] 
[INFO] [stdout] 
[INFO] [stdout] For more information about this error, try `rustc --explain E0716`.
[INFO] [stdout] 
[INFO] [stderr] error: could not compile `arcshift` (lib test) due to 4 previous errors
[INFO] running `Command { std: "docker" "inspect" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2", kill_on_drop: false }`
[INFO] running `Command { std: "docker" "rm" "-f" "54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2", kill_on_drop: false }`
[INFO] [stdout] 54f0d2d044dc0957da9bbeee88c4e6d6cc788303ecc83f68772d30e26c0aa2e2
